# -*- coding =utf-8 -*-
# @Time :2022/11/8 21:18
# @Author : 皈小松 20031492
# @File :data_clean.py
# @Software: PyCharm
import pandas as pd
import numpy as np

data_file = r'./data/supermarket.xlsx'
result_file = r'./data/supermarket_data.xlsx'

# 从源数据中提取，'付款日期', '客户名称', '销售额', '数据采集时间' 列数据
df = pd.DataFrame(pd.read_excel(data_file))
data = df[['付款日期', '客户名称', '销售额', '数据采集时间']]

# 处理时间格式为年-月-日，新增时间间隔列R
df1 = data.copy()  # 隔离数据，避免直接操作提取数据，保证数据完整性
df1['R'] = (pd.to_datetime(df1.loc[:, '数据采集时间']) - pd.to_datetime(
    df1.loc[:, '付款日期'])).values / np.timedelta64(1, 'D')

# 去除数据采集时间列
df1 = df1[['付款日期', '客户名称', '销售额', 'R']]

df2 = df1.groupby('客户名称').agg({'R': 'min', '销售额': 'mean'})
# F:消费频次，客户一定时间内的购买次数。
df2['F'] = df1.groupby(["客户名称"])['客户名称'].size()

df2.to_excel(result_file)  # 导出结果
